package com.piggy.logi.sys.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.piggy.common.core.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.math.BigDecimal;

@Data
@NoArgsConstructor
@Accessors(chain = true)
public class LogiCustomerBusStatisticsVo {

    /** 部门id */
    @ApiModelProperty("部门id")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long deptId;

    /** 客户id */
    @ApiModelProperty("客户id")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long customerId;

    /** 客户名称 */
    @Excel(name = "客户名称")
    @ApiModelProperty(value = "客户名称")
    private String customerName;

    /** 客户类型：1.收货方 2发货方 */
    @ApiModelProperty(value = "客户类型：1.收货方 2发货方")
    private Integer customerType;

    /** 总出货量（吨） */
    @Excel(name = "总出货量（吨）")
    @ApiModelProperty("总出货量（吨）")
    private BigDecimal totalShipQuality = BigDecimal.ZERO;

    /** 完成出货量（吨） */
    @Excel(name = "完成出货量（吨）")
    @ApiModelProperty("完成出货量（吨）")
    private BigDecimal finishShipQuality = BigDecimal.ZERO;

    /** 关联运单数量 */
    @Excel(name = "关联运单数量")
    @ApiModelProperty("关联运单数量")
    private Integer waybillNum = 0;

    /** 交易额（万元） */
    @Excel(name = "交易额（万元）")
    @ApiModelProperty(value = "交易额（万元）")
    private BigDecimal tradeAmount = BigDecimal.ZERO;

    /** 完成退货量（吨） */
    @Excel(name = "完成退货量（吨）")
    @ApiModelProperty(value = "完成退货量（吨）")
    private BigDecimal finishReturnQuality = BigDecimal.ZERO;

    /** 退货运单量 */
    @Excel(name = "退货运单量")
    @ApiModelProperty(value = "退货运单量")
    private Integer returnWaybillNum = 0;

    /** 退货交易金额（万元） */
    @Excel(name = "退货交易金额（万元）")
    @ApiModelProperty(value = "退货交易金额（万元）")
    private BigDecimal returnTradeAmount = BigDecimal.ZERO;

    /** 运单退货率 */
    @Excel(name = "运单退货率")
    @ApiModelProperty(value = "运单退货率")
    private String waybillReturnRate = "0%";

    /** 时间范围 */
    @Excel(name = "时间范围")
    @ApiModelProperty(value = "时间范围")
    private String timeFrame;
}
